// app.js
// import {
//   Token
// } from '/utils/token.js';

import {
  Log
} from '/utils/log.js';

import {
  CategoryModel
} from '/models/category.js';

import {
  Lock
} from '/models/lock.js';

import {
  KeywordModel
} from '/models/keyword.js';

import {
  Tip
} from '/utils/tip';

const lock = new Lock();

const category = new CategoryModel();

// const token = new Token();

const log = new Log();

const tip = new Tip();

const keyword = new KeywordModel();

App({
  onLaunch() {

    /**
     * 获取令牌
     */
    // token.verify();

    /**
     * 初始化用户行为容器
     */
    log.initUserActionContainer();

    /**
     * 初始化首页导航
     */
    category.initCategories();

    /**
     * 初始化热搜词
     */
    keyword.getHot();

    /**
     * 初始化锁对象
     */
    lock.initialize();

    /**
     * 记录日志
     */
    log.start();

    /**
     * 校验版本更新
     */
    this.checkNewVersion();

    /**
     * 添加用户指导
     */
    tip.init();

  },
  checkNewVersion() {
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager();
      updateManager.onCheckForUpdate(res => {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          updateManager.onUpdateReady(() => {
            wx.showModal({
              title: '更新提示',
              content: '新版本已经准备好，是否重启应用？',
              success: function (res) {
                console.log('success====', res)
                // res: {errMsg: "showModal: ok", cancel: false, confirm: true}
                if (res.confirm) {
                  // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate()
                }
              }
            })
          });
          updateManager.onUpdateFailed(() => {
            // 新的版本下载失败
            wx.showModal({
              title: '已经有新版本了哟~',
              content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~'
            })
          });
        }
      });
    }
  }
})